package top.saodisheng.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import top.saodisheng.dao.PackageDao;
import top.saodisheng.pojo.Package;
import top.saodisheng.util.Page4Navigator;

import java.util.List;

/**
 * Description:
 *
 * @author 扫地生_saodisheng
 */
@Service
public class PackageService {
    @Autowired
    PackageDao packageDao;

    // 获取数据库中的所有记录
    public List<Package> list() {
        return packageDao.findAll();
    }

    // 获取数据库中的所有记录，按照编号降序
    public Page4Navigator<Package> list(int start, int size, int navigatePage) {
        Page<Package> pageFromJAP = packageDao.findAll(PageRequest.of(start, size,
                Sort.by(Sort.Direction.DESC, "id")));
        return new Page4Navigator<>(pageFromJAP, navigatePage);
    }

    // 添加记录
    public void add(Package bean) {
        packageDao.save(bean);
    }

    // 修改记录
    public void update(Package bean) {
        packageDao.save(bean);
    }

    // 按照编号查询记录
    public Package get(int id) {
        return packageDao.getOne(id);
    }

    // 删除记录
    public void delete(int id) {
        packageDao.deleteById(id);
    }

    // 获取数据库表的记录数
    public int count() {
        return (int)packageDao.count();
    }
}
